﻿// Decompiled with JetBrains decompiler
// Type: MCM.Abstractions.GameFeatures.IFileSystemProvider
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

#nullable enable
namespace MCM.Abstractions.GameFeatures
{
  public interface IFileSystemProvider
  {
    GameDirectory GetModSettingsDirectory();

    GameDirectory? GetDirectory(GameDirectory directory, string directoryName);

    GameDirectory GetOrCreateDirectory(GameDirectory rootFolder, string id);

    GameFile[] GetFiles(GameDirectory directory, string searchPattern);

    GameFile? GetFile(GameDirectory directory, string fileName);

    GameFile GetOrCreateFile(GameDirectory directory, string fileName);

    bool WriteData(GameFile file, byte[]? data);

    byte[]? ReadData(GameFile file);

    string? GetSystemPath(GameFile file);

    string? GetSystemPath(GameDirectory directory);
  }
}
